package com.sino.operation.service.business.inter;

import com.sino.operation.entity.BizAccountmanageInfo;
import com.sino.operation.entity.BizTranslist;
import com.sino.operation.peripheral.esc.response.core.EscCore4010Dto;
import com.sino.operation.util.PersistenceUtil;

import java.util.Map;

/**
 * @InterfaceName AccountChargeService
 * @Description 开变销的记账接口
 * @Author 北陈
 * @Date 2021/11/1 14:07
 * @Version 1.0
 **/
public interface AccountChargeService {

    void AccountNewCurrent(BizTranslist bizTranslist, BizAccountmanageInfo bizAccountmanageInfo);

    void clientOpenNewByAccount(EscCore4010Dto escCore4010Dto, Map<String,String> map, BizTranslist bizTranslist, BizAccountmanageInfo bizAccountmanageInfo);

    void AccountNewIndustry(BizTranslist bizTranslist, BizAccountmanageInfo bizAccountmanageInfo);

    void clientOpenNewByIndustry(PersistenceUtil persistenceUtil);

    void changeNewByCurrent(BizTranslist bizTranslist, BizAccountmanageInfo bizAccountmanageInfo);

    void changeNewByByIndustry(BizTranslist bizTranslist, BizAccountmanageInfo bizAccountmanageInfo);

    void currentChange(String journalNo, PersistenceUtil persistenceUtil);

    void regularChange(String journalNo, PersistenceUtil persistenceUtil);

    void closeClient(String journalNo, PersistenceUtil persistenceUtil);

    <T> T getMessage(String journalNo,Class<T> clzz);
}
